package br.com.siscom.model.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import br.com.siscom.conexao.InterfacePool;
import br.com.siscom.model.bean.Cliente;
import br.com.siscom.model.bean.Departamento;

public class DepartamentoDAO {

	private InterfacePool pool; 
	
	public DepartamentoDAO(InterfacePool pool) {
		super();
		this.pool = pool;
	}

	public List<Departamento> getDepartamentos() throws SQLException
	{
		List<Departamento> resultado = new ArrayList<Departamento>();
		Connection con = pool.getConnection();
		PreparedStatement ps = null;
		String sqlSelect = "SELECT * FROM departamento; ";
		ResultSet rs = null;
		
		try {
			ps = con.prepareStatement(sqlSelect);
			rs = ps.executeQuery();
			while(rs.next())
			{
				Departamento departamento = new Departamento();
				departamento.setCodigo(rs.getInt("codigo"));
				departamento.setGerente(rs.getString("gerente"));
				departamento.setNome(rs.getString("nome"));
				resultado.add(departamento);
			}

			rs.close();
			ps.close();
		} finally{
			pool.liberarConnection(con);
		}
		return resultado;		
	}
	
}
